import dataList from '../component/data.mjs';


export const store = new Vuex.Store({
    // 定义的数据
    state: {
        list: dataList,
        currentList: [],
        toggleFlag: "frequently-food",
        orderFlag: "current-order",
    },
    mutations: {
        // 左边菜单增加事件函数
        addClick(state,e) {
            // 先判断数组的长度 如果为空直接push
            if (state.currentList.length < 1) {
                state.currentList.push(e);
            } else {
                // 不为空判断每次加入的商品名称
                let flag = true;
                state.currentList.forEach((item, index) => {

                    if (item.text === e.text) {
                        flag = false;
                        item.nums++;
                    }
                })
                if (flag) {
                    state.currentList.push(e);
                }
            }
        },
        // 订单的事件函数
        add(state,index) {
            state.currentList[index].nums++;
        },
        sub(state,index) {
            if (state.currentList[index].nums < 2) {
                state.currentList.splice(index, 1);
            } else {
                state.currentList[index].nums--;
            }
        },
        del(state,index) {
            state.currentList.splice(index, 1);
        },

        // 切换菜单标志位
        orderChange(state, name) {
            state.orderFlag = name;
        },
        proChange(state, name) {
            state.toggleFlag = name;
        }
    },
    actions: {
        addClick(context,e) {
            context.commit("addClick", e);
        },
        // 订单的事件函数
        add(context,index) {
            context.commit("add", index);
        },
        sub(context,index) {
            context.commit("sub", index);
        },
        del(context,index) {
            context.commit("del", index);          
        },
        orderChange(context, name) {
            context.commit("orderChange", name);
        },
        proChange(context, name) {
            context.commit("proChange", name);
        }
        
    },
});

